package org.moonshot.chatty.parse;

public enum ASTKey
{
	AT_START (Integer.class),
	AT_END   (Integer.class),
	
    METHOD_NAME (String.class),
    METHOD_TYPE (MethodType.class),
    METHOD_SCOPE (MethodScope.class),
    METHOD_ARGS (ChattyAST.class),
    METHOD_VARS (ChattyAST.class),
    BLOCK_ARGS(ChattyAST.class),
    
    VALUE(ChattyAST.class),
    BODY(ChattyAST.class),
    
    ASSIGN_TO(String.class),
    
    UNARY_NAME(String.class),
    
    BINARY_NAME(String.class),
    BINARY_VALUE(ChattyAST.class),
    
    KEYWORD_NAME(String.class),
    KEYWORD_VALUES(ChattyAST.class),
    
    EVAL_TEXT(String.class),
    EVAL_KIND(EvalType.class);
    
    public final Class<?> clazz;
    
    private ASTKey(Class<?> aClass)
    {
        clazz = aClass;
    }
    
    public final static int FIRST_UNUSED = ASTKey.values ().length;
}
